1. Field of the Invention
The present invention relates to a program circuit for a flash memory. More particularly, the invention relates to a program circuit and a program method for the flash memory with a floating gate.
2. Description of Related Art
A flash memory has the feature of being light and non-volatile; therefore, it is commonly applied in portable devices, such as storage devices of mobile phones, MP3 players and digital cameras. Presently, the most extensively applied memory element in the flash memory is floating gate memory, whose structure is similar to that of a metal oxide semiconductor transistor, MOS, with a floating gate. In traditional technology, the way to program a floating memory usually is to set a high voltage potential between its control gate and drain, so as to trap electrons in the floating gate. The threshold voltage of the floating gate memory then fluctuates with the amount of electrons trapped in the floating gate. Therefore, there are two primary ways to program the floating gate memory. One is to fix the voltage of drain and change the voltage of control gate so as to create the necessary voltage difference, as the program method disclosed in the U.S. Pat. No. 6,111,791. However, the resistance-capacitance (RC) delay time of a word line is usually longer. It would require more time to program and cannot achieve the effect of rapid programming. The other way is to fix the voltage of control gate and change the drain voltage to create the necessary voltage difference, and determine the charge of the threshold voltage according to the current variation of the floating gate memory, such as the program method disclosed in the U.S. Pat. No. 6,937,518B1. Nevertheless, this method requires a gradual change in the drain voltage and a circuit for detecting current thereof. A charge pump is required to supply stable voltage and a current-detecting circuit is required to detect the current conducted in the flash memory; the current-detecting circuit is more difficult to realize and the needed chip area is larger. Furthermore, reliance on a sudden current drop to judge whether the programming status is finished will ensure bigger difference in the programmed element. It is more difficult to control the threshold voltage after programming, which would decrease the accuracy of the read result in the flash memory.